package Chain;

/**
 * @Author: Cjj
 * 命令模式
 *  是一种数据驱动的设计模式，它属于行为型模式。
 *  命令模式将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化
 *  对请求排队或记录请求日志 以及支持可撤销的操作
 * 优点
 *  1.降低耦合度：请求者和执行者之间的耦合度降低
 *  2.易于扩展：新命令可以很容易地添加到系统中
 * 缺点：
 *  过多命令类：系统可能会有过多的具体命令类,增加系统的复杂度。
 * 使用建议：
 *  在GUI中,每个按钮或菜单项可以视为一条命令。
 *  在需要模拟命令行操作的场景中使用命令模式。
 *
 * 结构
 *  主要涉及到以下几个核心角色：
 *  命令(Command)
 *   定义了执行操作的接口,通常包含一个execute方法,用于调用具体的操作
 * 具体命令(ConcreteCommand)
 *  实现了命令接口,负责执行具体的操作。它通常包含了对接收者的引用,通过调用接收者的方法来完成请求的处理。
 * 接收者(Receiver)
 *  知道如何执行与请求相关的操作,实际执行命令的对象。
 * 调用者/请求者(Invoker)
 *  发送命令的对象,它包含了一个命令对象并能触发命令的执行。调用者并不直接处理请求,而是通过将请求传递
 *  给命令对象来实现。
 * 客户端(Client)
 *  创建具体命令对象并设置其接收者,将命令对象交给调用者执行。
 */
public class Command {

}
